<Project>
  <PropertyGroup>
    <ShouldVerifyClosure>true</ShouldVerifyClosure>
    <ShouldVerifyTypes>true</ShouldVerifyTypes>
  </PropertyGroup>

  <ItemGroup>
    <KnownFrameworkReference Remove="Microsoft.AspNetCore.App" />
    <KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App" />
    <KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App.WPF" />
    <KnownFrameworkReference Remove="Microsoft.WindowsDesktop.App.WindowsForms" />
  </ItemGroup>

  <ItemGroup>
    <!-- intentionally dangling refs in shims -->
    <ExcludeFromClosure Include="@(NetFxReference)" />
    <IgnoredReference Include="@(NetFxReference)" />
    
    <!-- netstandard will have cycles because OOB packages target netstandard and are used in netstandard closure,
         We do ensure that netstandard inside the shared framework has no cycles, but we permit them in packages in order to allow for simpler netstandard-based builds.-->
    <IgnoredReference Include="netstandard" />
    <!-- windows.winmd is not part of the framework -->
    <IgnoredReference Include="Windows" />
  </ItemGroup>
</Project>